package com.andlabs.gd.objects;

import android.graphics.Canvas;

import com.andlabs.gd.base.Point;
import com.andlabs.gd.rendering.RenderingInitializer;

/**
 * @author johannes
 */
public abstract class Character extends GameObject implements RenderingInitializer{
	//======================
	// Fields
	//======================
	public final static int STATE_WALKING = 1;
	public final static int STATE_ATTACKING = 2;
	public final static int STATE_STOPPED = 3;
	public final static int DIRECTION_SOUTH = 1;
	public final static int DIRECTION_NORTH = -1;
	public final static int DIRECTION_WEST = -1;
	public final static int DIRECTION_EAST = 1;
	public final static int DIRECTION_NO = 0;

	protected float mVelocity;
	
	//the destination to go
	public int mDestinationX = (int) mPosition.x;
	public int mDestinationY = (int) mPosition.y;
	protected int mDirectionX;
	protected int mDirectionY;
		
	public int mMaxPower = 100;
	public int mPower = 50;
	
	//======================
	// MEMBERS
	//======================
	protected int mState;
	//======================
	// Constructors
	//======================

	//======================
	// Overridden Methods
	//======================

	//======================
	// Public Methods
	//======================

	//======================
	// Private Methods
	//======================
	
	//======================
	//Protected Methods
	//======================
	abstract public void render(Canvas canvas, float zoomLevel);
	abstract public void update(float delta);	

}

